package com.stoken.domain;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class MemberRechargeList implements Serializable {
		
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY) 
	private long id;
	
	@ManyToOne
	@JoinColumn(name="base_username",nullable=false)
	private MemberBaseInfo baseUsername;
	
	/**
	 * recharge_amount	充值金额	double			NOT NULL
	recharge_name	打款人姓名	varchar	16		NOT NULL
	recharge_bank	打款银行名称	varchar	32		NOT NULL
	recharge_bankaccount	打款银行账号	varchar	32		NOT NULL
	recharge_time	打款款时间	time			NOT NULL
	recharge_agent_name	收款姓名	varchar	16		NOT NULL
	recharge_agent_bank	收款银行名称	varchar	32		NOT NULL
	recharge_agent_bankaccount	收款银行账号	varchar	32		NOT NULL
	recharge_state	充值状态	int		-1－表示失败
	0－表示未处理，默认
	1－表示处理成功	
	recharge_deal_time	充值处理时间	time			NOT NULL
	recharge_remark_a	充值用户备注	varchar	256		NOT NULL
	recharge_remark_b	公司备注	varchar	256		NOT NULL
	recharge_spare	备用字段	varchar	256		
	 */
	
	@Column(nullable=false)
	private double rechargeAmount;
	
	@Column(length=16,nullable=false)
	private String rechargeName;
	
	@Column(length=32,nullable=false)
	private String rechargeBank;
	
	@Column(length=32,nullable=false)
	private String rechargeBankaccount;
	
	@Column(nullable=false)
	@Temporal(TemporalType.TIMESTAMP)
	private Date rechargeTime;
	
	@Column(length=16,nullable=false)
	private String rechargeAgentName;
	
	@Column(length=32,nullable=false)
	private String rechargeAgentBank;
	
	@Column(length=32,nullable=false)
	private String rechargeAgentBankaccount;
	
	/*
	 * -1－表示失败
	 * 0－表示未处理，默认
	 * 1－表示处理成功	
	 */
	@Column(columnDefinition="INT default 0")
	private int rechargeState;
	
	@Column(nullable=false)
	@Temporal(TemporalType.TIMESTAMP)
	private Date rechargeDealTime;
	
	private String rechargeRemarkA;
	
	private String rechargeRemarkB;
	
	private String rechargeSpare;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public MemberBaseInfo getBaseUsername() {
		return baseUsername;
	}

	public void setBaseUsername(MemberBaseInfo baseUsername) {
		this.baseUsername = baseUsername;
	}

	public double getRechargeAmount() {
		return rechargeAmount;
	}

	public void setRechargeAmount(double rechargeAmount) {
		this.rechargeAmount = rechargeAmount;
	}

	public String getRechargeName() {
		return rechargeName;
	}

	public void setRechargeName(String rechargeName) {
		this.rechargeName = rechargeName;
	}

	public String getRechargeBank() {
		return rechargeBank;
	}

	public void setRechargeBank(String rechargeBank) {
		this.rechargeBank = rechargeBank;
	}

	public String getRechargeBankaccount() {
		return rechargeBankaccount;
	}

	public void setRechargeBankaccount(String rechargeBankaccount) {
		this.rechargeBankaccount = rechargeBankaccount;
	}

	public Date getRechargeTime() {
		return rechargeTime;
	}

	public void setRechargeTime(Date rechargeTime) {
		this.rechargeTime = rechargeTime;
	}

	public String getRechargeAgentName() {
		return rechargeAgentName;
	}

	public void setRechargeAgentName(String rechargeAgentName) {
		this.rechargeAgentName = rechargeAgentName;
	}

	public String getRechargeAgentBank() {
		return rechargeAgentBank;
	}

	public void setRechargeAgentBank(String rechargeAgentBank) {
		this.rechargeAgentBank = rechargeAgentBank;
	}

	public String getRechargeAgentBankaccount() {
		return rechargeAgentBankaccount;
	}

	public void setRechargeAgentBankaccount(String rechargeAgentBankaccount) {
		this.rechargeAgentBankaccount = rechargeAgentBankaccount;
	}

	public int getRechargeState() {
		return rechargeState;
	}

	public void setRechargeState(int rechargeState) {
		this.rechargeState = rechargeState;
	}

	public Date getRechargeDealTime() {
		return rechargeDealTime;
	}

	public void setRechargeDealTime(Date rechargeDealTime) {
		this.rechargeDealTime = rechargeDealTime;
	}

	public String getRechargeRemarkA() {
		return rechargeRemarkA;
	}

	public void setRechargeRemarkA(String rechargeRemarkA) {
		this.rechargeRemarkA = rechargeRemarkA;
	}

	public String getRechargeRemarkB() {
		return rechargeRemarkB;
	}

	public void setRechargeRemarkB(String rechargeRemarkB) {
		this.rechargeRemarkB = rechargeRemarkB;
	}

	public String getRechargeSpare() {
		return rechargeSpare;
	}

	public void setRechargeSpare(String rechargeSpare) {
		this.rechargeSpare = rechargeSpare;
	}
	
	
}
